For example, in an industrial network field for which high real-time performance is required, there has been a demand for temporally synchronizing control apparatuses so as to be able to control a plurality of control devices connected to a network as simultaneously as possible.
To realize temporal synchronization among apparatuses, IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 1588 Standard described in Non Patent Literature 1 mentioned below is often used. The time synchronization method specified under IEEE 1588 (IEC (International Electrotechnical Commission) 61588) Standard is explained.
IEEE 1588 is a protocol standard designed for precision time synchronization based on Ethernet (registered trademark). IEEE 1588 is based on 1:1 time exchange between a time master node and a time slave node each having a precise clock.
First, a time synchronization sequence under IEEE 1588 is explained. The time synchronization under IEEE 1588 is realized by communication of two round trips. The time master node transmits a Sync message for time synchronization to the time slave node. At this time, the time master node holds a time of transmission of the Sync message. The time slave node holds a time of reception of the Sync message.
The time master node transmits a Follow-up message in which the time of transmission of the Synch message held by the time master node is stored to the time slave node. The time slave node synchronizes its own clock with the time of the time master node using the time of transmission included in the Follow-up message when the time slave node has already measured a propagation delay.
To measure the propagation delay, the time slave node transmits a Delay_Req message to the time master node. At this time, the time slave node holds a time of transmission of the Delay_Req message. The time master node holds a time of reception at which the time master node receives the Delay_Req message, stores the time of reception in a Delay_Res message, and transmits the Delay_Res message to the time slave node.
The time slave node calculates a time difference between a master clock and its own clock based on the time of transmission included in a Follow_up message, the time of reception at which the time slave node receives the Sync message, the time of transmission at which the time slave node transmits the Delay_Res message, and the time of reception stored in the Delay_Res message, and corrects the calculated time difference, thereby making synchronization with the time of the time master node.
The sequence described above is a sequence for 1:1 communication between a time master node and a time slave node. As methods of synchronizing a time of a plurality of time slave nodes with the time master node, there are two methods used, which are a boundary clock method and a transparent method.
In the boundary clock method, when the time slave node directly connected to the time master node completes synchronization with its own time with the time of the time master node according to the time synchronization sequence described above, this time slave node next becomes a subtime master node, and synchronizes its own time with the time of a time slave node just below the former subtime master node according to the above-mentioned time synchronization sequence. In this way, in the boundary clock method, time synchronization is sequentially performed, starting with the time master node. As a result, the time of the time master node is transmitted downstream.
On the other hand, in the transparent clock method, End-to-End time synchronization is performed between the time master node and the time slave nodes. In the transparent clock method, each of the nodes present halfway between the time master node and the time slave nodes measures its own delay based on a time synchronization message, and adds the measured delay to a correction field in the time synchronization message, so as to make relay. The time slave node that has received the time synchronization message corrects the time using the delay stored in the correction field and added by the node present halfway. As the time synchronization message, the message used in the time synchronization sequence described above is used. That is, the time synchronization sequence for each node is equivalent to a time synchronization sequence for the 1:1 communication mentioned above.